<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2021/9/10
 * Time: 19:28
 */

if(!session_id()) session_start();
header("Access-Control-Allow-Origin:*");
header('Access-Control-Allow-Methods:POST,GET');
//设置图片保存目录
$path = "upload/";
// 如果目录不存在
if(!file_exists($path)) {
    // 创建目录
    mkdir($path,0777);
}

$file = $_FILES['file']; // 获取上传的文件
$filename  = $file['name']; //获取上传的文件名称
$file_type = $file['type']; // 文件类型

$time = time(); //time():时间戳

$rootUrl = "http://python.php/vue/vue_blog/vue_blog_server/";

// 限制文件格式
$types = array("image/jpeg","image/jpg","image/gif","image/png","video/mp4");

// 使用in_array函数判断数组$types内是否有$file_type元素
if (!in_array($file_type, $types)){
    $message = '不支持该文件类型, 支持上传文件类型有 JPG, JPEG ,GIF, MP4, and PNG.';
    resultData(0, 'error', $message, null);
} else {
    if (strstr($file_type, "video/mp4") !== false ) {
        resultFile('video');
    } else {
        resultFile('image');
    }

}

function resultFile($type) {
    global $file, $path, $time ,$rootUrl, $filename;
    if(!empty($filename)) {
        //移动文件到$path(保存路径)+$filename(文件名称) 路径中
         if(move_uploaded_file($file['tmp_name'], $path.$time.$filename)) {
            // $rootUrl.$path.$time.$filename 路径拼接，获取图片路径返回给前端
            resultData(1, $type, '上传成功！', $rootUrl.$path.$time.$filename);
        } else {
            resultData(0, 'error', '保存文件出错', null);
        }    
        
    }
}


function resultData($status, $type, $msg,$path) {
    $res = array('result' => array('status' => $status,'type'=>$type,'mgs'=>$msg,'url'=>$path));
    echo json_encode($res);
}